Skip to main content
Version: Upcoming

OptionPositionRecordV5

V8 Message Definiton

OptionPositionRecords are live risk records that contain start-of-day positions and all subsequent executions, including executions reported as done away. These records are published by a CoreRiskServer and represent the position and risk markup detail for a single option series. New records are published immediately when a position changes and about once per minute if no position has changed. Note that all records for a single underlier are published simultaneously and records for the same chain should have consistent marks.

METADATA

AttributeValue
Topic4740-risk-v5
MLink TokenClientRisk
ProductSRRisk
accessTypeSELECT
MLink EndpointMLink-Order

Table Definition

FieldTypeKeyDefault ValueComment
okey_atenum - AssetTypePRI'None'ends with n if an MH allocation fraction n 1N MMH segment number
okey_tsenum - TickerSrcPRI'None'ends with n if an MH allocation fraction n 1N MMH segment number
okey_tkVARCHAR(12)PRI''ends with n if an MH allocation fraction n 1N MMH segment number
okey_yrSMALLINT UNSIGNEDPRI0ends with n if an MH allocation fraction n 1N MMH segment number
okey_mnTINYINT UNSIGNEDPRI0ends with n if an MH allocation fraction n 1N MMH segment number
okey_dyTINYINT UNSIGNEDPRI0ends with n if an MH allocation fraction n 1N MMH segment number
okey_xxDOUBLEPRI0ends with n if an MH allocation fraction n 1N MMH segment number
okey_cpenum - CallPutPRI'Call'ends with n if an MH allocation fraction n 1N MMH segment number
accntVARCHAR(16)PRI''
tradeDateDATEPRI'1900-01-01'
riskSessionenum - RiskSessionPRI'Regular'
clientFirmVARCHAR(16)PRI''SR assigned client firm
riskServerCodeVARCHAR(6)''
aggGroupVARCHAR(16)''SR assigned agg group
fkey_atenum - AssetType'None'underlying future if written on a future
fkey_tsenum - TickerSrc'None'underlying future if written on a future
fkey_tkVARCHAR(12)''underlying future if written on a future
fkey_yrSMALLINT UNSIGNED0underlying future if written on a future
fkey_mnTINYINT UNSIGNED0underlying future if written on a future
fkey_dyTINYINT UNSIGNED0underlying future if written on a future
ticker_atenum - AssetType'None'underlying ticker
ticker_tsenum - TickerSrc'None'underlying ticker
ticker_tkVARCHAR(12)''underlying ticker
exTypeenum - ExerciseType'None'
multihedgeenum - Multihedge'None'
multihedgeSource_atenum - AssetType'None'MH Ticker Key starts with if exists
multihedgeSource_tsenum - TickerSrc'None'MH Ticker Key starts with if exists
multihedgeSource_tkVARCHAR(12)''MH Ticker Key starts with if exists
multihedgePVRatioFLOAT0pv multiplier fraction of underlier value uPerCn x uPrc SUMuPerCn x uPrc associated with this fragment
optionTypeenum - OptionType'None'
cashOnExFLOAT0cash on settlement multihedge
strikeRatioFLOAT0strike ratio
uPrcRatioFLOAT0stock price multiplier
underliersPerCnDOUBLE0underliers per contract
underlierTypeenum - UnderlierType'None'type of underlier affects greek calculations
tickValueFLOAT0NLV value of a single tick change in display premium pointValue tickValue tickSize
pointValueFLOAT0NLV value of a single point change in display premium pointValue tickValue tickSize
pointCurrencyenum - Currency'None'
priceFormatenum - PriceFormat'None'option price display format code
uPriceFormatenum - PriceFormat'None'underlier price display format code
uPrcDOUBLE0current underlier price any market session persists if market closedhalted
spotUPrcDOUBLE0current underlier spot price
uBidDOUBLE0current underlier bid any market session zero if market closedhalted
uAskDOUBLE0current underlier ask any market session zero if market closedhalted
uMarkDOUBLE0current underlier mark usually mid market freezes at SR CloseMarkTime
uMarkSourceenum - UMarkSource'None'
optBidFLOAT0current option market bid any market session zero if market closedhalted
optAskFLOAT0current option market ask any market session zero if market closedhalted
optMidMarkDOUBLE0current option mark mid market freezes at SR CloseMarkTime
optVolMarkDOUBLE0current option mark volatility surface freezes at SR CloseMarkTime
uOpnMarkDOUBLE0startofday SR underlier mark rotated from prior day record corp action adjusted
optOpnVolMarkDOUBLE0startofday SR vol mark corp action adjusted
optOpnMidMarkDOUBLE0startofday SR mid mark corp action adjusted
optOpnClrMarkDOUBLE0startofday clearing mark should be corp action adjusted
optOpnPosPrvINT0startofday SR contract position rotated from prior day record corp action adjusted
optOpnPosClrINT0startofday CKR contract position supplied by clientclearing firm via clearing position load should be corp action adjusted
optOpnPosINT0start of period contract position effective can be from either CLR or SR
optOpnPosSrcenum - PositionSource'None'start of period position source
cnBotINT0number of contracts bot today
cnSldINT0number of contracts sld today
cnOpenedINT0number of contracts opened today
cnClosedINT0number of contracts closed today
cnPendCmplBotINT0number of contracts bot today but pending completion
cnPendCmplSldINT0number of contracts sld today but pending completion
edgeOpenedFLOAT0edge from opening trades model 1
edgeClosedFLOAT0edge from closing trades model 1
trdDeltaFLOAT0deltas from trades fixed at the time of trade
trdGammaFLOAT0gamma from trades fixed at the time of trade
trdDeltaMnyFLOAT0deltas x uPrc from trades fixed at the time of trade
optMnyBotDOUBLE0sum of settle cash for all buy executions
optMnySldDOUBLE0sum of settle cash for all sell executions
dayPnlFLOAT0
dnDayPnlFLOAT0
opnPnlMidMarkFLOAT0
opnPnlVolMarkFLOAT0
opnPnlClrMarkFLOAT0
cnNetOpnPosINT0opening position cnOpnPos net of reversalsconversions
cnNetCurPosINT0current position cnOpnPos cnBot cnSld net of reversalsconversions
cnAtmEquivFLOAT0current position atm equivalent contracts cnNetPos ve atmVega
betaFLOAT0beta usually beta to SPX see AccountConfigbetaSource
betaSourceenum - BetaSource'None'
divDaysSMALLINT0days to the next dividend 0 exDate is today 1 exDate is yesterday
hedgeDeltaRuleenum - HedgeDeltaRule'None'HedgeDelta Source IVol use SR implied surface sticky strike IvS use SR surface sticky delta TVol use user supplied theo surface sticky strike TvS use user supplied theo surface and atm veSlope sticky delta AccountConfighedgeDelta
binaryDaysFLOAT0hedgeDelta 100500510 if less than binary days to expirationusually 00 20
daysSMALLINT0days to expiration
yearsFLOAT0years to expiration
rateFLOAT0global rate to expiration pricing
sdivFLOAT0continuous stock div pricing
ddivFLOAT0present value of discrete dividends pricing
dadjFLOAT0dadj frational dividend value 10 except for some multihedge roots
atmVolFLOAT0live surface atm volatility
atmVegaFLOAT0live surface atm vega
smnyFLOAT0option moneyness
iVolFLOAT0surface volatility
iVolSrcenum - MarkSource'None'
kAdjFLOAT0adjusted strike
deFLOATPRI0deltadOpx dUPrc
gaFLOAT0gammadDelta dUPrc
thFLOAT0thetadOpx dTime
veFLOAT0vegadOpx dVol
voFLOAT0volga SR surface
vaFLOAT0vanna SR surface
rhFLOAT0rhodOpx dRate
phFLOAT0phidOpx dSDiv
deDecayFLOAT0delta decay charm delta bleed dDeltadTime
errTINYINT UNSIGNED0computation error code if any
veSlopeFLOAT0ivol correlation veSlope dVol dUPrc can be either SR surface veSlope or client theo veSlope
hedgeDeFLOAT0hedge delta either ivol or tvol basedfollows binary rules
hedgeGaFLOAT0hedge gamma either ivol or tvol basedfollows binary rules
srSlopeFLOAT0ivol correlation srSlope dVol dUPrc always SR surface veSlope
isBinaryenum - YesNo'None'hedge deltagamma has switched to binary
premOvParFLOAT0premium over parity for the option position
xdeFLOAT0xdelta C 05 de P 05 de
loBoundFLOAT0minimum noarb opx zero volatility given sdivddivyearsrate
su90FLOAT0underlier up 90 sticky delta
sd90FLOAT0underlier dn 90 sticky delta
su50FLOAT0underlier up 50 sticky delta
sd50FLOAT0underlier dn 50 sticky delta
su15FLOAT0underlier up 15 sticky delta
sd15FLOAT0underlier dn 15 sticky delta
su10FLOAT0underlier up 10 sticky delta
sd10FLOAT0underlier dn 10 sticky delta
su06FLOAT0underlier up 6 sticky delta
sd08FLOAT0underlier dn 8 sticky delta
su05FLOAT0underlier up 5 sticky delta
sd05FLOAT0underlier dn 5 sticky delta
su1eFLOAT0underlier up 1x implied earn move vol ramp out deltaneutral
sd1eFLOAT0underlier dn 1x implied earn move vol ramp out deltaneutral
su2eFLOAT0underlier up 2x implied earn move vol ramp out deltaneutral
sd2eFLOAT0underlier dn 2x implied earn move vol ramp out deltaneutral
earnFLOAT0vol earn ramp out no underlier move
cashFLOAT0underlier up 30 vol 010 6mn deal close
theoModelVARCHAR(16)''theo model 1
tVolFLOAT0theo volatility
tOpxFLOAT0theo price
tBOpnPxFLOAT0theo buyopen price
tSOpnPxFLOAT0theo sellopen price
tBClsPxFLOAT0theo buyclose price
tSClsPxFLOAT0theo sellclose price
tDeFLOAT0theo delta
tGaFLOAT0theo gamma
tErrTINYINT UNSIGNED0theo vol error code TheoError
theoModel2VARCHAR(16)''theo model 2 used for edge markup
tVol2FLOAT0theo volatility model 2
tOpx2FLOAT0theo price model 2
tErr2TINYINT UNSIGNED0theo vol error code model 2
yearsPrFLOAT0
ratePrFLOAT0
sdivPrFLOAT0
ddivPrFLOAT0
iVolPrFLOAT0prior period surface volatility
kAdjPrFLOAT0prior period adjusted strike
dePrFLOAT0
gaPrFLOAT0
thPrFLOAT0
vePrFLOAT0
rhPrFLOAT0
phPrFLOAT0
voPrFLOAT0
vaPrFLOAT0
errPrTINYINT UNSIGNED0prior period computation error code if any
veSlopePrFLOAT0prior period veSlope
hedgeDePrFLOAT0prior period hedge delta
tVolPrFLOAT0prior period theo volatility theoModel
tOpxPrFLOAT0prior period theo price
tDePrFLOAT0prior period theo delta
tVolPr2FLOAT0prior period theo volatility theoModel2
tOpxPr2FLOAT0prior period theo price
tDePr2FLOAT0prior period theo delta
xdePrFLOAT0
marginUDnVDnFLOAT0Aggregate RiskSlide uPrc dn vol dn
marginUDnVUpFLOAT0Aggregate RiskSlide uPrc dn vol up
marginUUpVDnFLOAT0Aggregate RiskSlide uPrc up vol dn
marginUUpVUpFLOAT0Aggregate RiskSlide uPrc up vol up
opnPnlDeFLOAT0open position mult dePr dUPrc BS delta PnL NOT hedgeDe
opnPnlGaFLOAT0open position mult 05 avggammagammaPr dUPrc dUPrc
opnPnlThFLOAT0open position mult decomposedThetadYearsV dYearsC
opnPnlVeFLOAT0open position mult optVega dVol includes spotinduced vol change
opnPnlVoFLOAT0open position mult 05 avgvolgavolgaPr dVol dVol
opnPnlVaFLOAT0open position mult optVanna dVol dUPrc
opnPnlSlFLOAT0open position mult vePr veSlopePr dUPrc hedge effect overlaps with opnPnlVe
opnPnlRateFLOAT0open position mult optRho dRate
opnPnlSDivFLOAT0open position mult optPhi dSDiv
opnPnlDDivFLOAT0open position mult dePr dDDiv uses BS delta not phi
opnPnlSvFLOAT0deltaneutral PnL optVolMark optOpnVolMark mult opnPnlDe
opnPnlErrFLOAT0unattributed pnl opnPnlSv opnPnlGa opnPnlTh opnPnlVe opnPnlVo opnPnlVa opnPnlRate opnPnlSDiv opnPnlDDiv
shBotC0INT0hypothetical shares bot 1minute intervals
shSldC0INT0hypothetical shares sld
shMnyC0FLOAT0hypothetical money
shBotC1INT0hypothetical shares bot 10minute intervals
shSldC1INT0hypothetical shares sld
shMnyC1FLOAT0hypothetical money
markErrCodesVARCHAR(255)'None'
exValueFLOAT0early exercise value amLimit bsPrice
riskAlertenum - AlertCode'None'
numExecutionsINT0number of included SpdrParentExecution records
maxExecDttmDATETIME(6)'1900-01-01 00:00:00.000000'maximum activity dttm of execution records included in this option risk summary
timestampDATETIME(6)'1900-01-01 00:00:00.000000'

PRIMARY KEY DEFINITION (Unique)

FieldSequence
okey_tk1
okey_yr2
okey_mn3
okey_dy4
okey_xx5
okey_cp6
okey_at7
okey_ts8
accnt9
tradeDate10
riskSession11
clientFirm12

SELECT TABLE EXAMPLE QUERY

SELECT *
FROM `SRRisk`.`MsgOptionPositionRecordV5`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE') */
`okey_at` = 'None'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX') */
`okey_ts` = 'None'
AND
/* Replace with a VARCHAR(12) */
`okey_tk` = 'Example_okey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`okey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`okey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`okey_dy` = 1
AND
/* Replace with a DOUBLE */
`okey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`okey_cp` = 'Call'
AND
/* Replace with a VARCHAR(16) */
`accnt` = 'Example_accnt'
AND
/* Replace with a DATE */
`tradeDate` = '2022-01-01'
AND
/* Replace with a ENUM('Regular','PostClose') */
`riskSession` = 'Regular'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';

Doc Columns Query

SELECT * FROM SRRisk.doccolumns WHERE TABLE_NAME='OptionPositionRecordV5' ORDER BY ordinal_position ASC;